﻿namespace ConsoleApp;

/// <summary>
/// 递归
/// </summary>
public class Recursion
{
    public static async Task<int> RequestData(int id)
    {
        // 这里应该是根据ID请求数据的逻辑
        Console.WriteLine($"Requested data for ID: {id}");
        
        return await Task.Run(() =>
        {
            return id < 100 ? id + 10 : id;
        });
    }
 
    public static async Task RecursiveRequestData(int currentMaxId)
    {
        // 获取当前的最大ID
        var newMaxId = await RequestData(currentMaxId);
 
        // 如果最大ID有变化，则递归请求
        if (newMaxId > currentMaxId)
        {
            // 递归调用自身，继续检查是否有更新的数据
            await RecursiveRequestData(newMaxId);
        }
    }
}